The present invention relates to personal mobile computing devices commonly known as mobile devices. More particularly, the present invention relates to a system and method for transmitting to, receiving and correcting information on mobile devices.
Mobile devices are small electronic computing devices often referred to as personal digital assistants. Many such mobile devices are pagers, hand held devices, or palm size devices, which comfortably fit within the hand. One commercially available device is sold under the tradename HANDHELD PC (or H/PC), another is sold under the tradename PALM PC (or P/PC), both having software provided by Microsoft Corporation of Redmond, Wash.
Generally, the mobile device includes a processor, random access memory (RAM), and an input device such as a keyboard, touchpad or input buttons and a display. The keyboard can be integrated with the display, such as when the keyboard is incorporated as a touch sensitive display. A communication interface is optionally provided and is commonly used to communicate with the desktop computer. A replaceable or rechargeable battery powers the mobile device. Optionally, the mobile device can receive power from an external power source that overrides or recharges the built-in battery.
In some prior applications, the mobile device is used in conjunction with the desktop computer. For example, the user of the mobile device may also have access to, and use, a desktop computer at work or at home or both. If the mobile device is an H/PC brand device or other similar device, the user typically runs the same types of applications on both the desktop computer and on the mobile device. Thus, it is quite advantageous for such mobile devices to be designed to be coupled to the desktop computer to exchange information with, and share information with, the desktop computer.
Another technique for providing information to mobile devices is through a wireless transmission link. Such information can include electronic mail or news, weather, sports, traffic and local event information. The information may be obtained from a desktop computer connected to the Internet and delivered over a wired connection. However, it may be desirable to deliver such information over a wireless connection as well. A wireless receiver on the mobile device can act to receive information as it is being sent to the mobile device.
Where the mobile device is a pager, each pager in a given system has one or more addresses. When a message is transmitted over a wireless channel, it is destined for an address. All pagers assigned to that wireless channel receive the message and check the address contained in the message against its own addresses. This address-matching algorithm can be implemented either in the hardware, or in software, or in a combination of hardware and software. If the address associated with the incoming message does not match any of the addresses on the pager, then the message is discarded. However, if the address does match one of the addresses on the pager, then the message can be accepted and forwarded to higher level software or hardware in the protocol stack on the pager for suitable processing.
When the mobile device is a pager, or when it includes a pager, it suffers from a number of disadvantages. For example, paging networks are conventionally one-way networks in which a message is transmitted, or broadcast, to one or more pagers in an open loop environment. In that case, it is difficult, if not impossible, to determine whether the target device (or the target group of devices) has received the message. It is also difficult, if not impossible, to determine whether the target device has received an error free message.
One-way paging networks are prone to burst errors that cause some of the messages to be in error. In some cases, the paging industry has deemed this acceptable, since the user can sometimes determine the correct message content, even if the message contains errors, simply from the context of the message. However, in some cases this is highly undesirable. For example, when the message contains a phone number or important stock price information, this information can be lost in a burst error. This becomes unacceptable to the user.
For many years, the paging industry has worked to solve this problem. The industry has made incremental improvements in the over-the-air paging protocol used to transmit the messages. The Motorola FLEX paging system and the POCSAG paging system have improved messaging quality, but still see errors in messages.
Another method which has been implemented in an attempt to ensure that a message is transmitted to its destination error free is to send the message twice. In fact, some paging environments are so prone to burst errors that every message is sent twice on the paging system, as a standard operating procedure. Conventional pagers have the ability to hide the fact that a page is sent twice as long as the text of the two pages are exactly the same. Therefore, if both instances of the message are received error free, one instance of the message is simply discarded or hidden and the user only sees one error free instance of the message. However, if one or both of the instances have errors, they are both displayed to the user allowing the user to, in his or her mind, piece together portions of both instances of the message to determine the content of the correct, error free message.
This can also be a highly undesirable method. Such a method is inconvenient and cumbersome in that it requires more work on the part of the user to determine the correct content of the message. Further, some messages are not necessarily readable by average users and require some amount of data processing before the data is displayed to the user. In that case, simply sending two instances of the same message where both instances contain errors, does not remedy the one-way paging reliability problem.
First and second instances of a message are received over a wireless connection. It is determined whether the first and second instances of the message contain an error. If both instances contain an error, an error free instance of the message is reconstructed from the two erroneous instances by merging portions of the first and second instances.